package com.qingfeng.client.service;

import com.qingfeng.client.VO.StoreIndexVo;
import com.qingfeng.client.bean.GoodsCommon;
import com.qingfeng.client.bean.GoodsType;
import com.qingfeng.client.bean.Store;
import com.qingfeng.client.dao.GoodsCommonMapper;
import com.qingfeng.client.dao.GoodsTypeMapper;
import com.qingfeng.client.dao.StoreMapper;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * @author zhangyuefei
 * @version 1.0
 * @date 2020/1/6 3:32 下午
 */
@Service
public class StoreService {

    @Resource
    private StoreMapper storeDao;

    @Resource
    private GoodsCommonMapper goodsCommonDao;

    @Resource
    private GoodsTypeMapper goodsTypeDao;


    /**
     * 获取店铺首页信息
     * @param storeId
     * @return
     */
    public StoreIndexVo storeInfo(Long storeId){
        StoreIndexVo storeIndexVo = new StoreIndexVo();
        Store store = storeDao.selectById(storeId);
        storeIndexVo.setStore(store);
        storeIndexVo.setGoodsCommonList(getIndexGoodsCommon(storeId));
        storeIndexVo.setGoodsType(getAllGoodsType(storeId));
        storeIndexVo.setIndexType(getIndexGoodsType(storeId));
        return storeIndexVo;
    }

    /**
     * 生成店铺首页展示的商品
     * @param storeId
     * @return
     */
    private List<GoodsCommon> getIndexGoodsCommon(Long storeId){
        return goodsCommonDao.getStoreIndexGoods(storeId);
    }

    /**
     * 获取店铺所有商品类型信息
     * @param storeId
     * @return
     */
    private List<GoodsType> getIndexGoodsType(Long storeId){
        return goodsTypeDao.getStoreTypesIndexSort(storeId);

    }

    private List<GoodsType> getAllGoodsType(Long storeId){
        return goodsTypeDao.getStoreTypes(storeId);
    }
}
